package com.pronhub.cloud.shop.service;

import com.pronhub.cloud.shop.web.vo.SeckillGoodVo;

import java.util.List;

public interface ISeckillGoodService {
    List<SeckillGoodVo> query();

    /**
     *
     * 从Redis里面查
     * @return
     */
    List<SeckillGoodVo> queryFormCache();

    SeckillGoodVo findById(Long seckillId);

    /**
     *
     * 从Redis里面查
     * @return
     */
    SeckillGoodVo findByIdFromCache(Long seckillId);

    /**
     * 库存-1的服务
     * @param seckillId
     * 返回的是受影响的行数
     */
    int decrSeckillCountBySeckillId(Long seckillId);

    /**
     * 根据商品的ID 然后去回滚Redis
     * @param seckillId 商品ID
     */
    void syncRedisStockCount(Long seckillId);

    /**
     * 添加库存的操作
     * @param seckillId
     */
    void incrStock(Long seckillId);

}
